The present invention relates generally to improvements in digital wireless telephony. More particularly, the invention relates to advantageous aspects of producing echo free side tones during a wireless telephone connection.
Conventional wireline telephones produce an output signal called a side tone which is added to the far end speech signal. The side tone is an attenuated version of the microphone input. The sum of the speech signal and the side tone is fed to the speaker in order to provide an audible feedback representing the user""s input. The audible feedback gives the user an assurance that the telephone instrument is operating correctly.
In order to recreate the experience of the side tone produced by a wireline telephone, many wireless telephones implement a side tone generator, typically as a software module in a digital signal processor or other processor employed by the wireless telephone. The side tone generator provides an audible feedback reflecting the user""s input. The presence of the side tone in the wireless phone gives assurance to the user that the telephone is operating properly. In other words, users may be more comfortable with new technology that accurately mimics the features of old technology with which they have had a long period of familiarity.
The side tone module receives a signal from the A/D converter, reflecting a digital conversion of the user""s voice input. The side tone module multiplies the signal by an attenuation factor and adds the result to the signal produced by the speech decoder before the signal is passed to the D/A converter. Consequently, the user hears his or her own voice in the handset, assuring the user that the telephone is functioning properly.
Side tone generators used in wireless telephones are subject to a number of difficulties. For example, a wireless telephone is often used in a noisy environment. When the far end party speaks, the side tone generator will add the noise to the audio output, thus degrading the quality of the received speech.
Another difficulty associated with wireless telephones is echo. Echo occurs when sound travels from the speaker to the microphone and thus is processed and retransmitted back to the far end. Wireline operations are less susceptible to echo because the typical handset used in a wireline operation is larger than many small telephones commonly used in wireless operations. Moreover, the typical wireline handset forms a good seal against the user""s ear, preventing sound from escaping to reach the microphone or substantially reducing such sound.
Wireless handsets, on the other hand, are often small so that sound escaping from the earpiece has only a short distance to travel to reach the microphone. Furthermore, wireless handsets are often held a slight distance from the user""s ear so that no seal is made. Moreover, wireless communication often introduces a noticeable delay into a transmission, so that the far end party may hear an echo of his or her own voice a noticeable time after speaking. Adding a side tone to a telephone instrument which is subject to echo makes the echo worse by adding feedback of the far end party""s voice to an already existing undesired feedback, causing reverberation or other undesirable effects.
In order to remove echo effects from wireless communication, echo cancellers are used to reduce or eliminate echo, typically implemented as software modules. A commonly used prior art echo canceller is an adaptive echo canceller, which performs filtering on the far end signal and adapts the filtering to model the impulse response of the echo path. However, feedback produced by the side tone generator introduces further complications which make it difficult to operate a side tone generator in conjunction with an echo canceller of the prior art such as an adaptive echo canceller. When the far end party speaks, an echo may travel from the earpiece to the microphone. When this happens, the side tone generator produces a side tone responsive to the echo, feeding the echo back into the earpiece. This causes reverberation and increases the duration of the echo. The echo canceller becomes less effective and its adaptation is slowed down. Additionally, if the attenuation of the side tone generator is made variable, changes in the side tone change the effective echo path appearing to the echo canceller, because the side tone contributes to the echo. This adds another source of variability which increases the computational load on, and reduces the effectiveness of, the echo canceller.
Furthermore, times exist when it is not necessary to generate a side tone, for example, when the far end user is talking or when users at both ends are talking. It is therefore an excess consumption of resources for the side tone generator to be active when it is not needed.
There exists, therefore, a need in the art for a side tone generator which reduces the echo in the side tone signal, which reduces the feedback effect on the echo canceller, which operates successfully with an echo canceller which operates entirely within the background, and which reduces processing requirements by becoming inactive when not needed.
To this end, the present invention provides advantageous methods and apparatus for echo cancellation and side tone generation which address such issues. In one aspect, a side tone generator of the present invention includes a gain unit which receives a voice signal representing a user""s voice and applies a gain to the voice signal to produce a side tone. The side tone generator also includes a summing unit which receives a speech decoder signal representing a received far end signal. The summing unit adds the side tone to the speech decoder signal. The voice signal and the speech decoder signal are received and the side tone is computed and added to the speech decoder signal once every sample.
The side tone generator also includes a side tone gain adapter which controls the level of gain applied by the gain unit. The side tone gain adapter receives the voice signal and the speech decoder signal, as well as an echo canceller output representing the voice signal after echo cancellation. The side tone gain adapter computes the gain to be applied by taking the gain which would be applied in the absence of echo and multiplying it by a correction factor based on the prevailing level of echo. The side tone gain adapter computes and updates the gain once every frame.
According to another aspect of the present invention, an echo canceller may suitably include a filter, a filter adapter, a gain unit, an input summing unit and an output summing unit. The filter receives the speech decoder signal and filters it to obtain an estimate of the echo. The output summing unit subtracts the echo estimate from the voice signal in order to remove the estimated echo components from the voice signal to produce an echo adjusted signal. The gain unit applies a gain to the filter output using a gain value supplied by a side tone gain adapter to produce a feedback signal for refining the filter output. The input summing unit adds the speech decoder signal to the feedback signal to produce a refined filter input signal which is supplied to the filter. The input summing unit also supplies the refined filter input signal to the filter adapter.
The filter adapter employs the voice signal, the refined filter input signal and the echo adjusted signal to compute updated filter coefficients, which are then supplied to the filter. The echo canceller operates once every frame. A frame is a set of consecutive samples. A commonly used choice for the number of samples comprising a frame is 160.